package com.shanjupay.merchant.api;

import com.shanjupay.common.domain.BusinessException;
import com.shanjupay.merchant.api.dto.MerchantDTO;

/**
 * <p>
 * 商户服务接口
 * </p>
 *
 * @author <a href=mailto:zhaoboying@itcast.cn> byZhao </a>
 * @version 1.0.0
 * @motto Talk is cheap, show me the code!
 * @since 2022-04-29 02:17:20
 */
public interface MerchantService {
    /**
     * 根据商户id查询商户信息
     *
     * @param merchantId 商户id
     * @return 商户信息
     */
    MerchantDTO queryMerchantById(Long merchantId);

    /**
     *  商户注册
     * @param merchantDTO  商户DTO
     * @return DTO
     */
    MerchantDTO createMerchant(MerchantDTO merchantDTO) throws BusinessException;

    /**
     *  商户资质申请
     * @param merchantDTO （商户id必传）
     * @throws BusinessException
     */
    void applyMerchant(MerchantDTO merchantDTO) throws BusinessException;

}
